// 日期格式化, 返回格式: 2025-01-23 12:30:00
// 一小时内显示多少分钟，超过一小时显示多少小时，超过一天显示昨天时:分，超过二天显示多少天，超过一周显示多少周，超过一个月显示多少月，超过一年显示多少年
export const formatDate = (date) => {
  // 2025-01-24T02:03:32.165Z 转为时间戳
  const timestamp = date.getTime()
  const now = new Date().getTime()
  const diff = now - timestamp
  // 小于1分钟显示刚刚
  if (diff < 60 * 1000) {
    return '刚刚'
  }
  if (diff < 60 * 60 * 1000) {
    return `${Math.floor(diff / 60000)}分钟前`
  }
  if (diff < 24 * 60 * 60 * 1000) {
    return `${Math.floor(diff / 3600000)}小时前`
  }
  if (diff < 2 * 24 * 60 * 60 * 1000) {
    return `昨天${date.getHours()}:${date.getMinutes()}`
  }
  if (diff < 30 * 24 * 60 * 60 * 1000) {
    return `${Math.floor(diff / (24 * 60 * 60 * 1000))}天前`
  }
  if (diff < 365 * 24 * 60 * 60 * 1000) {
    return `${Math.floor(diff / (30 * 24 * 60 * 60 * 1000))}月前`
  }
  if (diff < 365 * 24 * 60 * 60 * 1000 * 2) {
    return `${Math.floor(diff / (365 * 24 * 60 * 60 * 1000))}年前`
  }
  return date.toLocaleString()
}
